package com.haoze.common.dto;

import java.util.List;

/**
 * 计划描述器
 */
public class CronDescriber {
    public static final Integer TYPE_SPECIFIED = 1;

    // 可设置分钟
    private Boolean minuteEnabled;

    // 0 间隔X分钟 1 指定分钟 0~59
    private Integer minuteType;

    // 间隔量
    private Integer minuteInterval;

    // 指定分钟列表数量
    private Integer specifiedMinuteNum;

    // 指定分钟列表
    private List<Integer> specifiedMinutes;

    // 可设置小时
    private Boolean hourEnabled;

    // 0 间隔X小时 1 指定小时 0~23
    private Integer hourType;

    // 间隔量
    private Integer hourInterval;

    // 指定小时列表数量
    private Integer specifiedHourNum;

    // 指定小时列表
    private List<Integer> specifiedHours;

    // 可设置日期
    private Boolean dayEnabled;

    // 0 间隔X天 1 指定星期
    private Integer dayType;

    // 间隔量
    private Integer dayInterval;

    // 指定星期列表数量
    private Integer specifiedDowNum;

    // 指定星期列表 SUN,MON,TUE,WED,THU,FRI,SAT
    private List<String> specifiedDows;

    // 持续实际数量
    private Integer lastNum;

    // 持续时间
    private Double last;

    // 持续时间单位 分 小时 日 周
    private String lastUnit;

    public Boolean getMinuteEnabled() {
        return minuteEnabled;
    }

    public void setMinuteEnabled(Boolean minuteEnabled) {
        this.minuteEnabled = minuteEnabled;
    }

    public Integer getMinuteType() {
        return minuteType;
    }

    public void setMinuteType(Integer minuteType) {
        this.minuteType = minuteType;
    }

    public Integer getMinuteInterval() {
        return minuteInterval;
    }

    public void setMinuteInterval(Integer minuteInterval) {
        this.minuteInterval = minuteInterval;
    }

    public Integer getSpecifiedMinuteNum() {
        return specifiedMinuteNum;
    }

    public void setSpecifiedMinuteNum(Integer specifiedMinuteNum) {
        this.specifiedMinuteNum = specifiedMinuteNum;
    }

    public List<Integer> getSpecifiedMinutes() {
        return specifiedMinutes;
    }

    public void setSpecifiedMinutes(List<Integer> specifiedMinutes) {
        this.specifiedMinutes = specifiedMinutes;
    }

    public Boolean getHourEnabled() {
        return hourEnabled;
    }

    public void setHourEnabled(Boolean hourEnabled) {
        this.hourEnabled = hourEnabled;
    }

    public Integer getHourType() {
        return hourType;
    }

    public void setHourType(Integer hourType) {
        this.hourType = hourType;
    }

    public Integer getHourInterval() {
        return hourInterval;
    }

    public void setHourInterval(Integer hourInterval) {
        this.hourInterval = hourInterval;
    }

    public Integer getSpecifiedHourNum() {
        return specifiedHourNum;
    }

    public void setSpecifiedHourNum(Integer specifiedHourNum) {
        this.specifiedHourNum = specifiedHourNum;
    }

    public List<Integer> getSpecifiedHours() {
        return specifiedHours;
    }

    public void setSpecifiedHours(List<Integer> specifiedHours) {
        this.specifiedHours = specifiedHours;
    }

    public Boolean getDayEnabled() {
        return dayEnabled;
    }

    public void setDayEnabled(Boolean dayEnabled) {
        this.dayEnabled = dayEnabled;
    }

    public Integer getDayType() {
        return dayType;
    }

    public void setDayType(Integer dayType) {
        this.dayType = dayType;
    }

    public Integer getDayInterval() {
        return dayInterval;
    }

    public void setDayInterval(Integer dayInterval) {
        this.dayInterval = dayInterval;
    }

    public Integer getSpecifiedDowNum() {
        return specifiedDowNum;
    }

    public void setSpecifiedDowNum(Integer specifiedDowNum) {
        this.specifiedDowNum = specifiedDowNum;
    }

    public List<String> getSpecifiedDows() {
        return specifiedDows;
    }

    public void setSpecifiedDows(List<String> specifiedDows) {
        this.specifiedDows = specifiedDows;
    }

    public Integer getLastNum() {
        return lastNum;
    }

    public void setLastNum(Integer lastNum) {
        this.lastNum = lastNum;
    }

    public Double getLast() {
        return last;
    }

    public void setLast(Double last) {
        this.last = last;
    }

    public String getLastUnit() {
        return lastUnit;
    }

    public void setLastUnit(String lastUnit) {
        this.lastUnit = lastUnit;
    }
}
